﻿using System; // 引入System命名空间，用于Console类与数据转换（文档1-34要求）

namespace sy3_2 // 统一命名空间，匹配文档实验图3-2、3-3的代码结构
{
    // 第二步：定义Building类（文档1-19、1-28要求）
    class Building
    {
        // 私有数据成员：长、宽、单价（float类型），楼层数（int类型）
        private float length, width, price;
        private int layers;

        // 构造函数：初始化长、宽、楼层数（文档1-19要求：用构造函数初始化这三个参数）
        public Building(float l, float w, int lys)
        {
            this.length = l;
            this.width = w;
            this.layers = lys;
        }

        // GetArea()方法：计算楼房总面积（公式：长×宽×楼层数）
        public float GetArea()
        {
            return length * width * layers;
        }

        // TotalPrice()方法：计算楼房总价（公式：总面积×单价）
        public float TotalPrice()
        {
            return GetArea() * price;
        }

        // MyPrice属性：用于外部设置单价（文档1-19要求：用属性赋值形式设单价）
        public float MyPrice
        {
            set { price = value; }
            get { return price; }
        }
    }

    // 第三步：编写Main()函数（嵌入第二步的命名空间内，文档1-30、1-39要求）
    class Program
    {
        static void Main(string[] args)
        {
            // 定义变量存储输入值
            float length, width, price;
            int layers;

            // 控制台输入楼房长（米），用float.Parse()转换输入（文档1-34要求）
            Console.Write("请输入楼房长(米):");
            length = float.Parse(Console.ReadLine());

            // 输入楼房宽（米）
            Console.Write("请输入楼房宽(米):");
            width = float.Parse(Console.ReadLine());

            // 输入楼层数（层），用int.Parse()转换输入
            Console.Write("请输入楼层数(层):");
            layers = int.Parse(Console.ReadLine());

            // 输入楼房单价（万）
            Console.Write("请输入楼单价(万):");
            price = float.Parse(Console.ReadLine());

            // 创建Building对象，通过构造函数初始化长、宽、楼层数
            Building b = new Building(length, width, layers);
            // 用MyPrice属性赋值单价（文档1-19要求）
            b.MyPrice = price;

            // 输出结果（匹配文档实验图3-4格式）
            Console.WriteLine("-------下是输出------");
            Console.Write("楼房总面积为(平方):");
            Console.WriteLine(b.GetArea());
            Console.Write("楼房总价格为(万元):");
            Console.WriteLine(b.TotalPrice());

            // 提示按任意键结束
            Console.Write("\n按任意键结束程序:");
            Console.ReadKey();
        }
    }
}